This invention relates generally to packet-switching systems, such as asynchronous transfer mode (ATM) systems, and specifically to traffic shapers of such systems.
Today""s business communications environment consists of two separate network infrastructures: a voice network (such as a private branch exchange (PBX)) characterized by real-time, high-reliability, constant bit-rate (CBR) connections; and a data network (such as a packet network) characterized by high-bandwidth variable bit-rate (VBR) connections. Business needs for simplified maintenance, management, and access to information on diverse networks are forcing the convergence of these networks along with a new class of real-time multimedia networks. Asynchronous transfer mode (ATM) provides a single infrastructure that cost-effectively and flexibly handles both switching and transmission for the traffic types mentioned above (voice, video, and data) for both local-area networks and wide-area networks. The evolving network convergence requires the adaptation of the legacy PBX voice traffic to ATM. Voice telephony over ATM (VTOA) specifications allow adaptation of compressed or uncompressed voice pulse-code modulated (PCM) data streams into streams (virtual circuits) of CBR cells.
An ATM cell, regardless of the traffic it carries, is a packet 53 octets long: 48 octets of payload attached to a 5-octet header. The header contains addressing and management information used to direct the cell from source to destination and to ensure that the negotiated aspects of the traffic-flow through the ATM network are met. CBR traffic is assembled into cell payloads using ATM Adaptation Layer 1 (AAL1). The AAL1 cell constructor layer uses the first octet of the payload for its header and the remaining 47 octets to carry CBR information. ATM cell construction is then completed by attaching the ATM header to the payload.
An individual ATM cell carries traffic of a single narrowband or wideband channel (a virtual circuit). Illustratively, a narrowband channel is represented by a single time slot of each successive frame of a TDM bus, while a wideband channel is represented by a plurality of time slots of each successive frame of a TDM bus. If a transmitter handles a plurality of virtual circuits, different ones of the ATM cells that it transmits carry traffic of different virtual circuits. Likewise, if a receiver handles a plurality of virtual circuits, different ones of the ATM cells that it receives carry traffic of different virtual circuits. A transmitter may transmit the traffic of different virtual circuits to different receivers. Likewise, a receiver may receive the traffic of different virtual circuits from different transmitters. The traffic of each virtual circuit is processed by its own instance of the AAL1 cell constructor layer; the number of active instances varies as virtual circuits are added and removed.
ATM switches police cell traffic to ensure that it does not exceed the cell-traffic capacity of the switches. The average cell rate is policed on a per-switch basis, but the peak (instantaneous) cell rate is policed on a per-virtual-circuit basis. Receiving ATM switches delete received cells of each virtual circuit that exceed that virtual circuit""s negotiated peak cell rate. And transmitting ATM switches meter out cells from each virtual circuit to ensure that they do not exceed that virtual circuit""s negotiated peak cell rate.
The ATM standards specify a Generic Cell Rate Algorithm (GCRA) for use by both hardware and software-implemented devices, called traffic shapers, for metering out cells. The GCRA requires the traffic shapers to periodically process the output queue of each virtual circuit. The period may be different for each virtual circuit, and is a function of the negotiated peak cell rate for that virtual circuit. In the case of PCM traffic having an 8 KHz sampling rate, the processing period is the 125 us frame period. The queues of all virtual circuits are processed during each period. If the queue of a virtual circuit is empty, the traffic shaper does not transmit a cell from that queue. If a cell is available in the queue of a virtual circuit, the traffic shaper transmits it if it meets the GCRA criterion, i.e., if the period between the last transmitted cell from this queue and now is greater than or equal to the minimum administered cell-rate period. If more than one cell is available in the queue of a virtual circuit, the traffic shaper transmits one cell from the queue if it meets the GCRA criterion, and the next cell must wait at least until the subsequent processing period to be transmitted. A spacing of at least 125 us between transmitted ATM cells from any virtual circuit is thus ensured, thereby guaranteeing that the virtual circuit does not exceed its negotiated peak cell rate.
ATM standards support layer-management messages to isolate connection problems. F4 cells are used for virtual-path management, and F5 cells are used for virtual-circuit management. F4 cells are transported by their own, dedicated, virtual circuit, while F5 cells are transported by the virtual circuit to which they relate. The standards recommend requesting a higher bandwidth for a virtual circuit than is needed to carry bearer traffic in order to accommodate F5 cell insertion in the traffic cell stream. The F5 cell insertion causes an increase in the cell-delay variation (jitter) by displacing in time the traffic cell that would otherwise be transmitted at the instant of the F5 cell transmission. This does not pose a problem for VBR channels, but it does present a problem for CBR channels, because it destroys the constant bit-rate of the channel""s bearer traffic stream. The jitter can be eliminated at the receiving end by buffering the received traffic, but this in turn causes an increase in the traffic cell delay, which is undesirable in real-time applications such as voice communications. There is no specific standard dealing with F5 cell insertion into CBR traffic streams, and the standards that do exist fail to address these problems.
This invention is directed to solving these and other problems and disadvantages of the prior art. Illustratively according to the invention, twice the normal bandwidth is allocated to each CBR channel, the bearer traffic of that channel is transmitted at twice its normal rate during one half of each normal transmission period, and the F5 cells are transmitted during the other half of each normal transmission period. F5 cell transmissions are thus phase-locked 180xc2x0 out-of-phase with CBR traffic cell transmissions. F5 cells are thus transmitted exactly half-way between sequential CBR traffic cells. This requires twice the normal bandwidth to avoid traffic contract violation, but introduces no jitter or delay for the CBR traffic cells. Both delay and jitter in the bearer traffic stream are thus avoided at the expense of allocated bandwidth.
Generally according to the invention, traffic shaping for a steam of traffic (e.g., a CBR ATM virtual circuit) that usually has a first transmission rate and a transmission interval associated with that rate, is effected as follows. The traffic stream is allocated two queues: one for enqueuing traffic and the other for enqueuing control information (e.g., F5 cells). Contents of the first queue are then transmitted during a first half of each said transmission interval at twice the first transmission rate, and contents of the second queue are transmitted during a second half of each said transmission interval, illustratively also at twice the first transmission rate. The stream of traffic is illustratively a stream of packets, such as ATM cells, for example. The first transmission rate is then the usual rate of transmission of the packets, and the transmission interval is an inverse of the rate of transmission of the packets.
Further generally according to the invention, traffic shaping for a plurality of streams of traffic, each having its own transmission rate and its own transmission interval associated with its own transmission rate, is effected as follows. Each stream is allocated its own pair of queues: one for enqueuing its traffic and the other for enqueuing its control information. Contents of each first queue are transmitted at twice the transmission rate of its corresponding traffic stream during a first half of the corresponding transmission interval of the corresponding traffic stream. Contents of each second queue are transmitted during a second half of the corresponding transmission interval of the corresponding traffic stream, illustratively also at twice the transmission rate of its corresponding traffic stream.
Although it can be implemented in hardware, the subject invention is particularly suited for implementation in software, including firmware, or in an integrated circuit.
The invention includes both a method as well as a corresponding apparatus, and a computer readable medium that contains software which, when executed in a computer, causes the computer to perform the method. The apparatus preferably includes an effectorxe2x80x94any entity that effects the corresponding step, unlike a meansxe2x80x94for each method step.
These and other features and advantages of the present invention will become more apparent from the following description of an illustrative embodiment of the invention considered together with the drawing.